/**
 * Copyright (c) 2024,  科泰集团教研团队
 * 版权所有，请勿侵权
 */
package com.ktjiaoyu.ktmall.service.impl;

import com.ktjiaoyu.ktmall.dao.NewsTypeDao;
import com.ktjiaoyu.ktmall.dao.impl.NewsTypeDaoImpl;
import com.ktjiaoyu.ktmall.entity.NewsType;
import com.ktjiaoyu.ktmall.service.NewsTypeService;
import com.ktjiaoyu.ktmall.utils.Page;

import java.sql.SQLException;
import java.util.List;

/**
 * 新闻分类表 Service接口实现
 * @author 科泰集团教研团队
 * @createTime 2024-4-17 20:49:54
 * @lastModify 2024-4-17 20:49:54
 * @version 1.0.0
 */
public class NewsTypeServiceImpl implements NewsTypeService {

    private NewsTypeDao newsTypeDao = new NewsTypeDaoImpl();
    @Override
    public Page<NewsType> findPage(NewsType entity, int pageNo, int pageSize) {
        Page<NewsType> page = new Page<>();
        // 获得总数量
        int count = newsTypeDao.count(entity);
        page.setPageNo(pageNo);
        page.setPageSize(pageSize);
        // 设置总数量，计算总页数
        page.setTotalCount(count);
        List<NewsType> list = newsTypeDao.getPage(entity, pageNo, pageSize);
        page.setData(list);
        return page;
    }

    @Override
    public List<NewsType> findAll() {
        return newsTypeDao.getAll();
    }

    @Override
    public NewsType findById(Long id) {
        return newsTypeDao.getById(id);
    }

    @Override
    public boolean saveOrUpdate(NewsType entity) throws SQLException {
        if(entity.getId() != null){
            // 如果有ID就是修改
            return newsTypeDao.update(entity) > 0;
        }
        // 没有id就是新增
        return newsTypeDao.insert(entity) > 0;
    }

    @Override
    public boolean importBatch(NewsType... entities) {
        return newsTypeDao.insertBatch(entities) != null;
    }


    @Override
    public boolean removeById(Long id) {
        return newsTypeDao.deleteById(id) > 0;
    }

    @Override
    public boolean removeByEntity(NewsType entity) {
        return newsTypeDao.deleteByEntity(entity) > 0;
    }

    @Override
    public boolean removeBatch(Long... ids) {
        return newsTypeDao.deleteBatch(ids) != null;
    }
}
